package Z007InterfaceAndExtends.O04OverWritr;

public class OverWriter {
}

class Item{
    String name;
    int price;

    public void buy(){
        System.out.println("购买");
    }

    public void effect(){
        System.out.println("物品使用效果");
    }
}

class LifePotion extends Item{
    public void effect(){
        System.out.println("血瓶使用后，可以恢复血量");
    }
}

class Test{
    public static void main(String[] args) {
        Item i = new Item();
        i.effect();

        LifePotion lp = new LifePotion();
        lp.effect();

        System.out.println("===================");

        /**
         * 如果没有重写这样的机制，也就是说LifePotion这个类，
         * 一旦继承了Item，所有方法都不能修改了。
         * 但是LifePotion又希望提供一点不同的功能，
         * 为了达到这个目的，只能放弃继承Item,
         * 重新编写所有的属性和方法，然后在编写effect的时候，做一点小改动.
         * 这样就增加了开发时间和维护成本
         */

//       练习设计一个类MagicPotion 蓝瓶，继承Item, 重写effect方法
//       并输出 “蓝瓶使用后，可以回魔法”

    }
}